package team.first.movieapiv2pro.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Objects;

/***
 * 影人电影作品信息
 */
@ApiModel(value = "影人电影作品信息")
public class Filmography {
    @ApiModelProperty(value = "电影编号", example = "1291543")
    private Integer id;

    @ApiModelProperty(value = "电影片名", example = "功夫")
    private String originalTitle;

    @ApiModelProperty(value = "电影中文名", example = "功夫")
    private String chineseTitle;

    @ApiModelProperty(value = "上映年份", example = "2004")
    private Integer year;

    @ApiModelProperty(value = "地区", example = "中国大陆")
    private String region;

    @ApiModelProperty(value = "分值", example = "9")
    private Double rating;

    @ApiModelProperty(value = "海报地址", example = "http://img3.doubanio.com/view/photo/s_ratio_poster/public/p2219011938.jpg")
    private String posterUrl;
    @ApiModelProperty(value = "电影海报名", example = "1291543.jpg")
    private String poster;

    @ApiModelProperty(value = "角色类型编号", example = "1")
    private Integer roleTypeId;

    /**
     * 获得电影编号
     *
     * @return 电影编号
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置电影编号
     *
     * @param id 电影编号
     * @return 当前对象引用
     */
    public Filmography setId(Integer id) {
        this.id = id;
        return this;
    }

    /**
     * 获取电影名称
     *
     * @return 电影原片名
     */
    public String getOriginalTitle() {
        return originalTitle;
    }

    /**
     * 设置电影原片名
     *
     * @param originalTitle 电影原片名
     * @return 当前对象引用
     */
    public Filmography setOriginalTitle(String originalTitle) {
        this.originalTitle = originalTitle;
        return this;
    }

    /**
     * 获得电影中文名
     *
     * @return 电影中文片名
     */
    public String getChineseTitle() {
        return chineseTitle;
    }

    /**
     * 设置电影中文片名
     *
     * @param chineseTitle 电影中文片名
     * @return 当前对象引用
     */
    public Filmography setChineseTitle(String chineseTitle) {
        this.chineseTitle = chineseTitle;
        return this;
    }

    /**
     * 获得电影上映年份
     *
     * @return 电影上映年份
     */
    public Integer getYear() {
        return year;
    }

    /**
     * 设置电影上映年份
     *
     * @param year 电影上映年份
     * @return 当前对象引用
     */
    public Filmography setYear(Integer year) {
        this.year = year;
        return this;
    }

    /**
     * 获得电影地区
     *
     * @return 电影地区
     */
    public String getRegion() {
        return region;
    }

    /**
     * 设置电影地区
     *
     * @param region 电影地区
     * @return 当前对象引用
     */
    public Filmography setRegion(String region) {
        this.region = region;
        return this;
    }

    /**
     * 设置评分
     *
     * @return 评分
     */
    public Double getRating() {
        return rating;
    }

    /**
     * 设置评分
     *
     * @param rating 评分
     * @return 当前对象引用
     */
    public Filmography setRating(Double rating) {
        this.rating = rating;
        return this;
    }

    /**
     * 获得海报地址
     *
     * @return 海报地址
     */
    public String getPosterUrl() {
        return posterUrl;
    }

    /**
     * 设置海报地址
     *
     * @param posterUrl 海报地址
     * @return 当前对象引用
     */
    public Filmography setPosterUrl(String posterUrl) {
        this.posterUrl = posterUrl;
        return this;
    }

    /**
     * 获得海报文件名
     *
     * @return 海报文件名
     */
    public String getPoster() {
        return poster;
    }

    /**
     * 设置海报文件名
     *
     * @param poster 海报文件名
     * @return 当前对象引用
     */
    public Filmography setPoster(String poster) {
        this.poster = poster;
        return this;
    }

    /**
     * 返回演职员角色类型编号
     *
     * @return 角色类型编号
     */
    public Integer getRoleTypeId() {
        return roleTypeId;
    }

    /**
     * 设置演职员角色类型
     *
     * @param roleTypeId 角色类型编号
     * @return 当前对象引用
     */
    public Filmography setRoleTypeId(Integer roleTypeId) {
        this.roleTypeId = roleTypeId;
        return this;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Filmography that = (Filmography) o;
        return id.equals(that.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }

    @Override
    public String toString() {
        return "Filmography{" +
                "id=" + id +
                ", originalTitle='" + originalTitle + '\'' +
                ", roleTypeId=" + roleTypeId +
                '}';
    }
}
